// function a() {
//   var c = 1
// }
// a()
// console.log(c);
// var声明的变量全都放在了变量环境中，let声明的变量全都放在了词法环境中。
// 函数内部作用域let声明的变量并没有被放在词法环境中
// let myname = 'cuifan'; {
//   console.log(myname);
//   let myname = 'cuifan1'
// }
// if (false) {
//   var myname = 'cuifan'
// }
// console.log(myname);

// console.log(message);
// let message = 'hello world'

function foo() {
  var myName = " 极客时间 "
  let test1 = 1
  const test2 = 2
  var innerBar = {
    getName: function() {
      console.log(test1)
      return myName
    },
    setName: function(newName) {
      myName = newName
    }
  }
  return innerBar
}
var bar = foo()
bar.setName(" 极客邦 ")
bar.getName()
console.log(bar.getName())